/// done!~
/**
给定字符串J 代表石头中宝石的类型，和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型，你想知道你拥有的石头中有多少是宝石。
J 中的字母不重复，J 和 S中的所有字符都是字母。字母区分大小写，因此"a"和"A"是不同类型的石头。
示例 1:
输入: J = "aA", S = "aAAbbbb"
输出: 3
示例 2:
输入: J = "z", S = "ZZ"
输出: 0
注意:
    S 和 J 最多含有50个字母。
     J 中的字符不重复。
通过次数137,250
提交次数161,351
**/

/*
 * @Author:gxx
 * @Date: 2021-03-30 10:34:16
 * @Last Modified by: gxx
 * @Last Modified time: 2021-03-30 10:34:16
 * @Description: 宝石与石头
*/

#include <iostream>
#include <vector>
#include <string>
#include <cmath>
#include <algorithm>
using namespace std;

int find_baoshi(string bs,string hav){
    int l_b = bs.length();
    int l_h = hav.length();
    int num = 0;
    if(l_b < 0 || l_b>50 || l_h >50)
        return -1;
    for(int i = 0; i < l_b; i++){
        for(int j = 0; j < l_h;j++){
            if(hav[j] == bs[i])
            num++;
        }
    }
    return num;
}

int main(int argc, char **argv){
    string  baoshi;
    string have_;
    cin >>baoshi;
    cin >>have_;

    cout << find_baoshi(baoshi,have_)<<endl;
    return 0;
}

/***
class Solution {
public:
    int numJewelsInStones(string jewels, string stones) {
      int l_j =  jewels.length();
      int l_s = stones.length(); 
      int result = 0;
      for(int i = 0 ; i < l_j ; i++){
          for(int j = 0 ; j < l_s ; j++){
              if(stones[j] == jewels[i])
              result++;
          }
      }
      cout << result<<endl;
      return result;
    }
};
**/
/** leetcode IDE **/